package com.briup.corejava.day05;

/**
 * 数组的基本操作
 * 1、数组类型
 * 2、数组声明
 * 3、初始化
 * 4、赋值和取值
 * 5、下表和长度的关系
 * 6、遍历
 * 7、制造一些异常
 * 8、引用传递的本质
 */
public class Test6 {
    public static void main(String[] args) {
        // 数组的声明和初始化
        int[] arr1 = new int[3];
        double[] arr2 = new double[]{0.1,13.14,25.0};
        String[] strs = {"今天","终于","星期五"};
        // 数组是引用类型，可以调用一些方法和属性
        // 数组只有一个可用的属性，叫做length，只能获取，不能赋值
        System.out.println(arr1.length);
        // 下标可以用来赋值和取值，下标的取值范围[0,length)
        arr1[0] = 11;
        System.out.println(arr1[2]);
        // 遍历（普通for循环）
        for(int i=0;i<arr1.length;i++){
            System.out.println(arr1[i]);
        }
        // 增强for循环
        // 语法 for(数据类型 临时变量 : 数组){}
        for (int j : arr1) {
            System.out.println(j);
        }

        // 引用传递
        int[] arr3 = arr1; // 10,0,0
        arr1[1] = 100;
        System.out.println(arr3[1]);

        System.out.println(arr1);

        // 空指针
        arr3 = null;
        System.out.println(arr3[1]);

    }
}
